﻿/**
 * Funciones javascript para el manejo del dialogo de apartado
 * @author Ricardo Santillan Reyes
 * @copyright Yahoo! Inc. 2008
 * @copyright Instituto Tecnologico de Jiquilpan 2008-2009
 * @license Creative Commons 2.5
 */

YAHOO.namespace("contenedor");

var mensajeDialogo = function(pTitulo, pMensaje, pTipo) {
	//Mostramos el dialogo de mensajes
	YAHOO.contenedor.dlgMensajes.setHeader(pTitulo);
	YAHOO.contenedor.dlgMensajes.setBody(pMensaje);
	/*
	 * @var int Tipo de mensaje (YAHOO SimpleDialog Icons) 
	 * 0 - Bloqueado
	 * 1 - Advertencia
	 * 2 - Ayuda
	 * 3 - Informacion
	 * 4 - Alarma
	 * 5 - Sugerencia 
	 */
	switch (pTipo) {
		case 0 :
			YAHOO.contenedor.dlgMensajes.cfg.setProperty("icon",
					YAHOO.widget.SimpleDialog.ICON_BLOCK);
			break;
		case 1 :
			YAHOO.contenedor.dlgMensajes.cfg.setProperty("icon",
					YAHOO.widget.SimpleDialog.ICON_WARN);
			break;
		case 2 :
			YAHOO.contenedor.dlgMensajes.cfg.setProperty("icon",
					YAHOO.widget.SimpleDialog.ICON_HELP);
			break;
		case 3 :
			YAHOO.contenedor.dlgMensajes.cfg.setProperty("icon",
					YAHOO.widget.SimpleDialog.ICON_INFO);
			break;
		case 4 :
			YAHOO.contenedor.dlgMensajes.cfg.setProperty("icon",
					YAHOO.widget.SimpleDialog.ICON_ALARM);
			break;
		case 5 :
			YAHOO.contenedor.dlgMensajes.cfg.setProperty("icon",
					YAHOO.widget.SimpleDialog.ICON_TIP);
			break;
	}
	if (YAHOO.contenedor.dlgMensajes.render(document.body))
		YAHOO.contenedor.dlgMensajes.show();
	else
		alert(pMensaje);
};

var recargaOnAceptar;
//Imagen cargando
var imgCargando = '<img src="recursos/imagenes/cargando.gif" alt="..." />';

//Tooltips
function getIdsTd() {
	var laTabla = document.getElementById('principal');
	var filas = laTabla.rows;
	var idfila,col,ren,ids = [];
	for(var i=0; i<filas.length; i++){
		var fila = filas[i];
		var columnas = fila.cells;
		for(var j=0; j<columnas.length; j++){
			var columna = columnas[j];
			idfila = columna.id.split('-'); 
			if(idfila[0] == 'row'){
				ids.push(columna.id);
			}
		}
	}
	return ids;
};

//Siguiente semana
function getSemana(p) {
	mensaje('Obteniendo semana&nbsp; '+imgCargando, _MENSAJE_INFORMACION);

	var asynSigSema = function(pParam) {
		var res = pParam.responseText;
		var tabla;
		//BUGTRACE Parse 1
		try{
			tabla = JSON.parse(res);
		}catch(e){
			bugtrace('aulas|parse1');
			return;
		}
		//BUGTRACE Null 1
		if(tabla == null){
			bugtrace('aulas|null1');
			return;
		}
		
		var fecha = tabla.fechaEncabezado;
		/* Puede venir un dialogo de mensaje */
		if (tabla.tipoDialogo != null) {
			if (parseInt(tabla.tipoDialogo) == 1) {
				/*
				 * Objeto del tipo mensajes
				 * @property titulo Titulo del mensaje
				 * @property contenido Contenido o cuerpo del mensaje
				 * @property tipo Tipo de mensaje (Iconos de Yahoo! SimpleDialog)
				 */
				limpiarMensaje();
				recargaOnAceptar = true;
				mensajeDialogo(tabla.titulo, tabla.contenido, tabla.tipo);
				return;
			}
		}

		mensaje('Actualizando informaci&oacute;n&nbsp; '+ imgCargando, _MENSAJE_INFORMACION);

		for (columna = 0; columna < tabla.encabezados.length; columna++) {
			enc = document.getElementById(tabla.encabezados[columna].id);
			enc = replaceHtml(enc, tabla.encabezados[columna].contenido);
			enc.className = tabla.encabezados[columna].clase;
			for (fila = 0; fila < tabla.celdas.length; fila++) {
				fi = document.getElementById(tabla.celdas[fila][columna].id);
				fi = replaceHtml(fi, tabla.celdas[fila][columna].contenido);
				fi.className = tabla.celdas[fila][columna].clase;
				
				if(fi.className == 'diapasado'){
					fi.onmouseover = "document.body.style.cursor='help'";//tabla.celdas[fila][columna].clase + "IE";
					fi.onmouseout = "document.body.style.cursor='default';";//tabla.celdas[fila][columna].clase;
				}else{
					fi.onmouseover = 'className=\'' + tabla.celdas[fila][columna].clase + "IE'; document.body.style.cursor='pointer'";//tabla.celdas[fila][columna].clase + "IE";
					fi.onmouseout = 'className=\'' + tabla.celdas[fila][columna].clase + "'; document.body.style.cursor='default';";
				}
				fi.title = tabla.celdas[fila][columna].titulo;
			}
		}
		
		var fec = document.getElementById('fechaEnc');
		fec = replaceHtml(fec, fecha);

		var args = {timeout: true};
		mensaje('Semana cargada.', _MENSAJE_INFORMACION,args);
	};

	var asynSigFallo = function(pParam) {
		mensaje('Fall&oacute; el env&iacute;o de informaci&oacute;n.',
				_MENSAJE_ERROR);
	};

	var asynSigSemana = {
		success : asynSigSema,
		failure : asynSigFallo,
		argument : {
			sec : "semana",
			modo : "asincrono",
			get : "semana",
			opc : "siguiente"
		}
	};

	if (p == 2) {
		url = "index.php?sec=aulas&modo=asincrono&get=semana&opc=siguiente";
		YAHOO.contenedor.semanaNumero = p;
	} else if (p == 1) {
		url = "index.php?sec=aulas&modo=asincrono&get=semana";
		YAHOO.contenedor.semanaNumero = p;
	}

	var peticion = YAHOO.util.Connect.asyncRequest('GET', url, asynSigSemana);
	if (!peticion)
		alert("No se pudo cargar informacion de la base de datos");
}
var tooltips;

function init() {

	YAHOO.contenedor.semanaNumero = 1;

	//Tooltips
	var grupoTooltips = getIdsTd();
	tooltips = new YAHOO.widget.Tooltip("tooltips", {
		context : grupoTooltips
	});

	//Dialogo de error
	var manejaAceptar = function() {
		this.hide();
		if (recargaOnAceptar){
			mensaje('Recargando p&aacute;gina&nbsp; ' + imgCargando, _MENSAJE_INFORMACION);
			location.reload();
		}
	};

	recargaOnAceptar = false;
	YAHOO.contenedor.dlgMensajes = new YAHOO.widget.SimpleDialog("dlgMensajes", {
		width : "300px",
		fixedcenter : true,
		visible : false,
		draggable : false,
		close : true,
		modal : true,
		constraintoviewport : true,
		buttons : [{
			text : "Aceptar",
			handler : manejaAceptar,
			isDefault : true
			}]
	});
	YAHOO.contenedor.dlgMensajes.setHeader("Un error ha ocurrido");

	//Eventos del dialogo
	var eventEnviar = function() {
		mensaje("Enviando informaci&oacute;n...", _MENSAJE_INFORMACION);
		this.submit();
	};
	var eventCancelar = function() {
		limpiarMensaje();
		//Limpiamos los comentarios
		var txtCom = document.getElementById('txtComentarios');
		if(txtCom == null)
			var txtCom = document.getElementById('txtComentariosAdmin');
		txtCom.value = '';
		
		this.cancel();
	};
	//Eventos de respuesta asincrona
	var responseCorrecto = function(p) {
		var res = p.responseText;
		var tabla;
		//BUGTRACE Parse 2
		try{
			tabla = JSON.parse(res);
		}catch(e){
			mensaje('Upss! un error a ocurrido. <a href="index.php?bug=aulas|parse2" target="blank">Reportar</a>',_MENSAJE_ERROR);
			bugtrace('aulas|parse2');
		}
		//BUGTRACE Null 2
		if(tabla == null){
			bugtrace('aulas|null2');
			return;
		}
		
		/* Puede venir un dialogo de mensaje */
		if (tabla.tipoDialogo != null) {
			if (parseInt(tabla.tipoDialogo) == 1) {
				/*
				 * Objeto del tipo mensajes
				 * @property titulo Titulo del mensaje
				 * @property contenido Contenido o cuerpo del mensaje
				 * @property tipo Tipo de mensaje (Iconos de Yahoo! SimpleDialog)
				 */
				limpiarMensaje();
				recargaOnAceptar = true;
				mensajeDialogo(tabla.titulo, tabla.contenido, tabla.tipo);
				return;
			}
		}

		mensaje('Actualizando informaci&oacute;n&nbsp; ' + imgCargando, _MENSAJE_INFORMACION);

		for (columna = 0; columna < tabla.encabezados.length; columna++) {
			enc = document.getElementById(tabla.encabezados[columna].id);
			enc = replaceHtml(enc, tabla.encabezados[columna].contenido);
			enc.className = tabla.encabezados[columna].clase;
			for (fila = 0; fila < tabla.celdas.length; fila++) {
				fi = document.getElementById(tabla.celdas[fila][columna].id);
				fi = replaceHtml(fi, tabla.celdas[fila][columna].contenido);
				fi.className = tabla.celdas[fila][columna].clase;
				fi.onmouseover = tabla.celdas[fila][columna].clase + "IE";
				fi.onmouseout = tabla.celdas[fila][columna].clase;
				fi.title = tabla.celdas[fila][columna].titulo;
			}
		}

		var encabezado = document.getElementById('fechaEnc');
		encabezado = replaceHtml(encabezado, tabla.fechaEncabezado);

		limpiarMensaje();
		var args = {timeout: true};
		if (tabla.registro)
			mensaje('Aula apartada correctamente.', _MENSAJE_INFORMACION,args);
		else
			mensaje('No se ha apartado el aula.', _MENSAJE_ERROR);
		
		//Tooltips
		var grupoTooltips = getIdsTd();
		var tooltips = new YAHOO.widget.Tooltip("tooltips", {
			context : grupoTooltips
		});
	};
	var responseFallo = function(pParam) {
		mensaje('Fall&oacute; el envio de informaci&oacute;n', _MENSAJE_ERROR);
	};
	//Creamos el dialogo
	YAHOO.contenedor.dlgApartado = new YAHOO.widget.Dialog("dialogo", {
		width : "30em",
		fixedcenter : true,
		visible : false,
		constraintoviewport : true,
		modal : true,
		buttons : [{
					text : "Registrar",
					handler : eventEnviar,
					isDefault : true
				},

				{
					text : "Cancelar",
					handler : eventCancelar
				}]
	});
	//Validacion de datos
	YAHOO.contenedor.dlgApartado.validate = function(pParam) {
		var data = this.getData();
		if (data.fcboMateria == "" || data.fcoAula == "") {
			alert("Escribe tu clave y selecciona una materia.");
			return false;
		} else {
			return true;
		}
	};
	//Establecemos los eventos de respuesta del dialogo
	YAHOO.contenedor.dlgApartado.callback = {
		success : responseCorrecto,
		failure : responseFallo
	};
	
	//!------Dialogo del administrador
	
	//Eventos del dialogo
	var eventEnviarAd = function() {
		var sub = this.submit();
		if(sub){
			mensaje("Enviando informaci&oacute;n&nbsp; " + imgCargando, _MENSAJE_INFORMACION);
		}
	};
	var eventCancelarAd = function() {
		limpiarMensaje();
		//Limpiamos los comentarios
		var txtCom = document.getElementById('txtComentariosAdmin');
		txtCom.value = '';
		this.cancel();
	};
	//Eventos de respuesta asincrona
	var responseCorrectoAd = function(p){
		alert (p.responseText);
	};
	var responseFalloAd = function(p) {
		alert (p.responseText);
	};
	//Creamos el dialogo
	YAHOO.contenedor.dlgApartadoAd = new YAHOO.widget.Dialog("dialogoAdmin", {
		width : "30em",
		fixedcenter : true,
		visible : false,
		constraintoviewport : true,
		modal : true,
		buttons : [{
					text : "Registrar",
					handler : eventEnviarAd,
					isDefault : true
				},

				{
					text : "Cancelar",
					handler : eventCancelarAd
				}]
	});
	//Validacion de datos
	YAHOO.contenedor.dlgApartadoAd.validate = function() {
		var data = this.getData();
		if (data.leClave == "" || data.cboMateriaAdmin == "") {
			alert("Escriba una clave de usuario y seleccione una materia.");
			return false;
		} else {
			return true;
		}
	};
	//Establecemos los eventos de respuesta del dialogo
	YAHOO.contenedor.dlgApartadoAd.callback = {
		success : responseCorrecto,
		failure : responseFallo
	};
	
	YAHOO.contenedor.dlgApartadoAd.render();
	
	//Precargamos las imagenes
	imgAnterior = new Image();
	imgSiguiente = new Image();
	imgAnterior.src = 'modulos/mod_semana/anterior.png';
	imgSiguiente.src = 'modulos/mod_semana/siguiente.png';
}
//Peticion asincrona via get del dialogo
//Mostrar el dialogo
var showDialogo = function(pAdmin) {
	//Mostramos el dialogo
	limpiarMensaje();
	if(!pAdmin)
		if (YAHOO.contenedor.dlgApartado.render())
			YAHOO.contenedor.dlgApartado.show();
		else
			alert("No se pudo crear el dialogo\n\nError de renderizado.");
	else
		//if (YAHOO.contenedor.dlgApartadoAd.render())
			YAHOO.contenedor.dlgApartadoAd.show();
		//else
		//	alert("No se pudo crear el dialogo\n\nError de renderizado.");
};
var asynCorrecto = function(pParam) {
	var respuesta = pParam.responseText;
	var dialogo;
	//BUGTRACE Parse 3 
	try{
		dialogo = JSON.parse(respuesta);
	}catch(e){
		mensaje('Upss! un error a ocurrido. <a href="index.php?bug=aulas|parse3" target="blank">Reportar</a>',_MENSAJE_ERROR);
	}
	//BUGTRACE Null 3
	if(dialogo == null){
		bugtrace('aulas|null3');
	}
	
	/*
	 * Pueden venir tres tipos diferentes de dialogo
	 * 0 - Dialogo semana
	 * 1 - Dialogo mensajes
	 * 2 - Dialogo informacion
	 */

	//Dialogo de semana
	if (dialogo.tipoDialogo == 0) {
		/*
		 * Objeto del tipo dialogo
		 * @property action Accion del formulario
		 * @property materias[] Materias impartidas o tomadas por el usuario
		 * @property aulas[] Aulas disponibles para el apartado
		 * @property tipoUsuario Tipo de usuario 1.-Administador,2.-Docente,3.-Alumno 
		 * @property idUsuario
		 * @property nombreUsuario Nombre del usuario
		 */
		
		if(dialogo.tipoUsuario != 1){
			var form = document.getElementById('frmApartadoAulas');
			var aulas = document.getElementById('cboAula');
			var iFecha = document.getElementById('fecha');
			var iHora = document.getElementById('hora');
			var cboMaterias = document.getElementById('cboMateria');
			var optAula = document.getElementById('cboAula');
			var encabezado = document.getElementById('encabezado');
			var txtComentarios = document.getElementById('txtComentarios');
		}else{
			//Administrador
			var form = document.getElementById('frmApartadoAulasAdmin');
			var aulas = document.getElementById('cboAulaAdmin');
			var iFecha = document.getElementById('fechaAdmin');
			var iHora = document.getElementById('horaAdmin');
			var cboMaterias = document.getElementById('cboMateriaAdmin');
			var optAula = document.getElementById('cboAulaAdmin');
			var encabezado = document.getElementById('encabezadoAdmin');
			var leClave = document.getElementById('leClave');
			var lblNombre = document.getElementById('lblNombre');
			if(dialogo.idUsuario.length == 7) dialogo.idUsuario = '0' + dialogo.idUsuario; 
			leClave.value = dialogo.idUsuario;
			lblNombre = replaceHtml(lblNombre, dialogo.nombreUsuario);
			var txtComentarios = document.getElementById('txtComentariosAdmin');
		}

		//Agregamos las materias
		while (cboMaterias.firstChild)
			cboMaterias.removeChild(cboMaterias.firstChild);

		var nomMateria;
		for (i = 0; i < dialogo.materias.length; i++) {
			var optMat = document.createElement('option');
			optMat.value = dialogo.id_materias[i];
			cboMaterias.appendChild(optMat);
			
			if(dialogo.materias[i].length > 20)
				nomMateria =  dialogo.materias[i].substring(0,20) + '...';
			else
				nomMateria = dialogo.materias[i];
			optMat = replaceHtml(optMat, nomMateria);
			optMat.title = dialogo.materias[i];
		}

		//Agregamos las aulas
		while (optAula.firstChild)
			optAula.removeChild(optAula.firstChild);

		for (i = 0; i < dialogo.aulas.length; i++) {
			var optAul = document.createElement('option');
			optAul.value = dialogo.id_aulas[i];
			aulas.appendChild(optAul);
			optAul = replaceHtml(optAul, dialogo.aulas[i]);
		}
		
		//Fecha y hora del apartado
		iFecha.value = dialogo.fecha;
		iHora.value = dialogo.hora + ':00';

		//Fechas en el encabezado
		encabezado = replaceHtml(encabezado, dialogo.fechaLarga + " a las "
						+ dialogo.hora + " hrs.");

		form.action = dialogo.action;
		txtComentarios.value = "";
		//Esperamos a que el DOM este listo
		if(dialogo.tipoUsuario != 1)
			YAHOO.util.Event.onDOMReady(showDialogo(false));
		else
			YAHOO.util.Event.onDOMReady(showDialogo(true));
	} else
	//Dialogo mensajes 
	if (dialogo.tipoDialogo == 1){
		/*
		 * Objeto del tipo mensajes
		 * @property titulo Titulo del mensaje
		 * @property contenido Contenido o cuerpo del mensaje
		 * @property tipo Tipo de mensaje (Iconos de Yahoo! SimpleDialog)
		 */
		limpiarMensaje();
		mensajeDialogo(dialogo.titulo, dialogo.contenido, dialogo.tipo);
		return;
	}
};

var asynFallo = function(pParam) {
	if (pParam.responseText !== undefined) {
		//Error
		//alert("Error al tratar de obtener datos del servidor.\n\nPeticion asincrona del dialogo");
		mensaje(
				"Error al tratar de obtener datos del servidor (Petici&oacute;n asincrona del dialogo).",
				_MENSAJE_ERROR);
	}
};

var asynLlamada = {
	success : asynCorrecto,
	failure : asynFallo,
	argument : {
		sec : "aulas",
		modo : "asincrono",
		get : "dialogo",
		columna : 0,
		hora : 7,
		nocache : 123
	}
};

//Perdida de foco en el campo clave del dialogo de administrador
var asynCorrectoAdmin = function(pParam){
	var leClave = document.getElementById('leClave');
	var img = document.getElementById('imgDialogoAdmin');
	var cboMaterias = document.getElementById('cboMateriaAdmin');
	var lblNombre = document.getElementById('lblNombre');
	var respuesta = pParam.responseText;
	var dialogo;
	//BUGTRACE Parse 4
	try{
		dialogo = JSON.parse(respuesta);
	}catch(e){
		mensaje('Upss! un error a ocurrido. <a href="index.php?bug=aulas|parse4" target="blank">Reportar</a>',_MENSAJE_ERROR);
	}
	//BUGTRACE Null 4
	if(dialogo == null){
		bugtrace('aulas|null4');
	}
	
	while (cboMaterias.firstChild)
		cboMaterias.removeChild(cboMaterias.firstChild);
	
	var nomMateria;
	if(dialogo.error == 0){
		//Agregamos las materias	
		for (i = 0; i < dialogo.materias.length; i++) {
			var optMat = document.createElement('option');
			optMat.value = dialogo.id_materias[i];
			cboMaterias.appendChild(optMat);
			if(dialogo.materias[i].length > 20)
				nomMateria = dialogo.materias[i].substring(0,20) + '...';
			else
				nomMateria = dialogo.materias[i];
			optMat = replaceHtml(optMat, nomMateria);
			optMat.title = dialogo.materias[i];
		}
		lblNombre = replaceHtml(lblNombre,dialogo.nombreUsuario);
		lblNombre.className = 'aulasDialogoAdminLabel';
		img.src = 'modulos/mod_aulas/blank.png';
	}else if(dialogo.error == 1){
		//No existe el usuario
		img.src = 'modulos/mod_aulas/noexiste.png';
		lblNombre = replaceHtml(lblNombre,'El usuario no existe');
		lblNombre.className = 'aulasDialogoAdminLabelError';
	}else if(dialogo.error == 2){
		img.src = 'modulos/mod_aulas/noexiste.png';
		lblNombre = replaceHtml(lblNombre,'El usuario no tiene materias asignadas');
		lblNombre.className = 'aulasDialogoAdminLabelError';
	}else if(dialogo.error == 3){
		img.src = 'modulos/mod_aulas/noexiste.png';
		lblNombre = replaceHtml(lblNombre,'Se ha terminado tu <a href="index.php?sec=login">sesi&oacute;n</a>.');
		lblNombre.className = 'aulasDialogoAdminLabelError';
	}
	leClave.disabled = '';
	document.getElementById('txtComentariosAdmin').focus();
};

var asynFalloAdmin = function(pParam){	
	alert(pParam.responseText);
};

var asynLlamadaAdmin = {
	success : asynCorrectoAdmin,
	failure : asynFalloAdmin,
	argument : {
		sec : "aulas",
		modo : "asincrono",
		get : "usuario",
		id : "111"
	}
};

var tmrCargaInfoUsuario = new Timer(2000,cargaInfo);

var leClaveChange = function() {
	var leClave = document.getElementById('leClave');
	if(leClave.value.length == 3 || leClave.value.length == 8)
		tmrCargaInfoUsuario.start();
	else
		if(! tmrCargaInfoUsuario.isStopped())
			tmrCargaInfoUsuario.stop();
};

function cargaInfo(){
	var leClave = document.getElementById('leClave');
	var img = document.getElementById('imgDialogoAdmin');
	tmrCargaInfoUsuario.stop();
	var idUsuario = document.getElementById('leClave').value;
	if(isNaN(idUsuario))
		alert('La clave del docente o del alumno debe ser numérica.');
	else{
		leClave.disabled = 'disabled';
		img.src = 'recursos/imagenes/cargando.gif';
		var peticion = YAHOO.util.Connect.asyncRequest('GET', 'index.php?sec=aulas&modo=asincrono&get=usuario&id=' + idUsuario , asynLlamadaAdmin);
		if (!peticion)
			alert("No se pudo cargar informacion de la base de datos");
	}
}

//Eventos de la capa semana
var clickSemana = function(pObjeto) {
	var elObjeto = YAHOO.util.Event.getTarget(pObjeto);
	//Url de peticion al servidor
	var sUrl = "index.php?sec=aulas&modo=asincrono&get=dialogo";
	while (elObjeto.id != "semana") {
		//Es una celda
		if (elObjeto.nodeName.toLowerCase() == "td") {
			//Separamos el id de la celda con el caracter '-'
			arrId = elObjeto.id.split('-');
			if (arrId.length == 3) { //row-1-1 (row - fila - columna)
				var fila = parseInt(arrId[1]);
				var columna = parseInt(arrId[2]);
				//Dia de la semana de acuerdo a la columna
				switch (columna) {
					case 0 :
						sDia = "Lunes";
						break;
					case 1 :
						sDia = "Martes";
						break;
					case 2 :
						sDia = "Miercoles";
						break;
					case 3 :
						sDia = "Jueves";
						break;
					case 4 :
						sDia = "Viernes";
						break;
					case 5 :
						sDia = "Sabado";
						break;
				}
				//La hora es el numero de renglon mas 7
				var hora = (fila + 7);
				sUrl += "&columna=" + columna + "&hora=" + hora;

				//Es la siguiente semana?
				if (YAHOO.contenedor.semanaNumero == 2)
					sUrl += "&opc=siguiente";
				
				//No cache
				sUrl += "&nocache=" + aleatorio(100,1000);
				
				//Realizamos la peticion
				mensaje('Obteniendo informaci&oacute;n&nbsp; ' + imgCargando, _MENSAJE_INFORMACION);
				var peticion = YAHOO.util.Connect.asyncRequest('GET', sUrl, asynLlamada);
				if (!peticion)
					alert("No se pudo cargar informacion de la base de datos");
				break;
			}//if arr.length = 3
		} else {//If celda
			//Clic en una columna
			arrId = elObjeto.id.split('-');
			if (elObjeto.nodeName.toLowerCase() == "th") {
				if (arrId.length == 2) { //col-1 (row - columna)
					mensaje('Cargando d&iacute;a&nbsp; ' + imgCargando, _MENSAJE_INFORMACION);
					//Es la siguiente semana?
					if (YAHOO.contenedor.semanaNumero == 2)
						url = 'index.php?sec=dia&dia=' + arrId[1]
								+ '&opc=siguiente';
					else
						url = 'index.php?sec=dia&dia=' + arrId[1];
					//FIXME Problemas con el redireccionamiento de window.location?
					window.location = url;
				}
			}
			//No es la capa semana, pero tampoco una celda; seguimos buscando
			elObjeto = elObjeto.parentNode;
		}
	} //While
}; //Click principal

//Registramos el evento click en la capa semana
YAHOO.util.Event.on("semana", "click", clickSemana);
//Esperamos a que se cargue el modelo de la pagina para cargar el dialogo
YAHOO.util.Event.onDOMReady(init);
